Accelerometer compensation in an inertial navigation system

ABSTRACT

The invention is a method and apparatus for improving the accuracy of an inertial navigation system. The method comprises (1) obtaining a measure of the angular velocity of a body frame of reference having a first axis, a second axis, and a third axis, (2) obtaining a measure of the acceleration of a first reference point in the direction of the first axis, a second reference point in the direction of the second axis, and a third reference point in the direction of the third axis, the first, second, and third reference points being fixed in the body frame, and (3) determining compensated acceleration values. A compensated acceleration value is the difference of the measure of acceleration of a reference point and a compensation quantity. A compensation quantity is an estimate of the portion of the acceleration of the reference point resulting from the rotation of the body frame. The method further comprises establishing the optimum navigation center based on a criterion of goodness. The criterion of goodness is minimal weighted acceleration error where acceleration error is a function of the direction of the angular velocity vector and weighted acceleration error is obtained by multiplying the acceleration error by a weighting function and integrating the result over all directions of the angular velocity vector.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT

The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of DAAN01-95-C-R156 awarded by Redstone Arsenal, Department of the Army.

CROSS-REFERENCE TO RELATED APPLICATIONS

(Not applicable)

BACKGROUND OF THE INVENTION

This invention relates generally to inertial navigation systems and more specifically to compensating acceleration measurements for body frame rotation and establishing the optimal center of navigation for a general accelerometer configuration.

Rotation creates centripetal and tangential accelerations which are proportional to the lever arm from the center of rotation to the rotating body. Any rotation through an arbitrary origin should produce zero acceleration at the origin. In a practical inertial navigation system, the three accelerometers cannot share the same origin. As a result, rotation about a reference origin can produce erroneous sensed accelerations and compensation is required.

In the past, the lever arms associated with the tangential acceleration (angular acceleration dependent) terms were small and produced negligible errors compared to the performance requirements. Compensation was based on centripetal (angular rate) terms only.

Some inertial navigation systems use silicon accelerometers mounted on the block in positions where angular acceleration terms produce errors that can approach the performance requirements. In the present invention a complete size effect compensation technique is used that treats both angular rate and angular acceleration terms. The algorithm performance is determined analytically, and used to define the optimal center of navigation for a general accelerometer configuration.

The notation used herein is as follows: a vector is denoted with an overhead arrow, e.g. {right arrow over (w)}, while a matrix is denoted in boldface, e.g. C.

The direction cosine matrix can be represented analytically by

C _(B) ^(N)=exp(ε sin(wt)[{right arrow over (1)}_(φ) x])  (1)

and the rate of change of the direction cosine matrix by

{dot over (C)} _(B) ^(N) =C _(B) ^(N) [{right arrow over (w)}x]  (2)

which means the sinusoidal angular velocity is given by

{right arrow over (w)}=W{right arrow over (1)}_(φ)  (3)

W=εwcos(wt)  (4)

and angular acceleration is given by

$\begin{matrix} {\overset{\rightarrow}{\overset{.}{w}} = {{\frac{\quad}{t}\quad \overset{\rightarrow}{w}} = {{- \varepsilon}\quad w^{2}\quad \sin \quad ({wt})\quad {\overset{\rightarrow}{1}}_{\varphi}}}} & (5) \end{matrix}$

where ε is the magnitude of the angular displacement and w is the frequency about an arbitrary but fixed axis

{right arrow over (1)}_(φ) =[c _(x) c _(y) c _(z)]  (6)

where

{square root over (c _(x) ² +c _(y) ² +c _(z) ²)}=1,  (7)

Accelerometers with lever arm vector {right arrow over (R)} will sense an acceleration

{right arrow over (a)} _(B)=([{right arrow over (w)}x]² +[{dot over ({right arrow over (w)})}x])R ^(B)  (8)

where the cross product

{right arrow over (φ)}x{right arrow over (R)}=[{right arrow over (φ)}x]{right arrow over (R)}  (9)

where $\begin{matrix} {\left\lbrack {\overset{\rightarrow}{\varphi}\quad x} \right\rbrack = \begin{bmatrix} 0 & {- \varphi_{x}} & \varphi_{y} \\ \varphi_{x} & 0 & {- \varphi_{x}} \\ {- \varphi_{y}} & \varphi_{x} & 0 \end{bmatrix}} & (10) \end{matrix}$

and the cross product

{right arrow over (φ)}x[{right arrow over (φ)}x{right arrow over (R)}]=[{right arrow over (φ)}x] ² {right arrow over (R)}  (11)

where $\begin{matrix} {\left\lbrack {\overset{\rightarrow}{\varphi}\quad x} \right\rbrack^{2} = \begin{bmatrix} {{- \varphi_{y}^{2}} - \varphi_{x}^{2}} & {\varphi_{x}\quad \varphi_{y}} & {\varphi_{x}\quad \varphi_{z}} \\ {\varphi_{x}\quad \varphi_{y}} & {{- \varphi_{x}^{2}} - \varphi_{z}^{2}} & {\varphi_{y}\quad \varphi_{z}} \\ {\varphi_{x}\quad \varphi_{z}} & {\varphi_{y}\quad \varphi_{z}} & {{- \varphi_{x}^{2}} - {\varphi_{y}^{2}.}} \end{bmatrix}} & (12) \end{matrix}$

If all three accelerometers shared the same origin, the lever arm R^(B)=0, and for a navigation center defined as that origin, any angular rate through that origin would not produce measured acceleration in any axis.

The projections on to the X, Y, and Z axis are the body frame accelerations, i.e.

{right arrow over (a)} _(x) =P _(x)([{right arrow over (w)}x] ² +[{dot over ({right arrow over (w)})}x]){right arrow over (R)} _(x)  (13)

{right arrow over (a)} _(y) =P _(y)([{right arrow over (w)}x] ² +[{dot over ({right arrow over (w)})}x]){right arrow over (R)} _(y)  (14)

{right arrow over (a)} _(z) =P _(z)([{right arrow over (w)}x] ² +[{dot over ({right arrow over (w)})}x]){right arrow over (R)} _(z)  (15)

where the projection matrices are $\begin{matrix} {P_{x} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}} & (16) \\ {P_{y} = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix}} & (17) \\ {P_{z} = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}} & (18) \end{matrix}$

and {right arrow over (R)}_(x), {right arrow over (R)}_(y), and {right arrow over (R)}_(z) are the lever arm vectors for accelerometers in the X, Y, and Z directions respectively.

This is a convenient way to write the measured acceleration, since the other elements of the vector are zero, i.e. $\begin{matrix} {{{\overset{\rightarrow}{a}}_{x} = \begin{bmatrix} a_{B_{x}} \\ 0 \\ 0 \end{bmatrix}},{{\overset{\rightarrow}{a}}_{y} = \begin{bmatrix} 0 \\ a_{B_{y}} \\ 0 \end{bmatrix}},{{\overset{\rightarrow}{a}}_{x} = \begin{bmatrix} 0 \\ 0 \\ a_{B_{z}} \end{bmatrix}}} & (19) \end{matrix}$

which can also be written as dot products, i.e.

a _(Bx) ={right arrow over (a)} _(x)·{right arrow over (1)}_(x) ,a _(By) ={right arrow over (a)} _(y)·{right arrow over (1)}_(y) ,a _(Bz) ={right arrow over (a)} _(z)·{right arrow over (1)}_(z)  (20)

where the unit vectors are defined as $\begin{matrix} {{{\overset{\rightarrow}{1}}_{x} = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}},{{\overset{\rightarrow}{1}}_{y} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}^{T}},{{\overset{\rightarrow}{1}}_{x} = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}^{T}}} & (21) \end{matrix}$

Using the same matrix representations for cross products shown in Equation (10) and Equation (16) but substituting

{right arrow over (w)}=[w _(x) w _(y) w _(z)]  (22)

{dot over ({right arrow over (w)})}=[{dot over (w)} _(x) {dot over (w)} _(y) {dot over (w)} _(z)]  (23)

where

w _(x) =Wc _(x)  (24)

w _(y) =Wc _(y)  (25)

w _(z) =Wc _(z)  (26)

and for lever arms

{right arrow over (R)} _(x) =[R _(xx) R _(yx) R _(zx)]  (27)

{right arrow over (R)} _(y) =[R _(xy) R _(yy) R _(zy)]  (28)

{right arrow over (R)} _(z) =[R _(xz) R _(yz) R _(zz)]  (29)

where R_(ij) is the i'th coordinate of the j'th accelerometer, the acceleration is given by

a _(Bx)=(−w _(y) ² −w _(z) ²)R _(xx)+(−{dot over (w)} _(z) +w _(x) w _(y))R _(yz)+({dot over (w)} _(y) +w _(x) w _(z))R _(zx)  (30)

 a _(By)=({dot over (w)} _(z) +w _(x) w _(y))R _(xy)+(−w _(x) ² −w _(x) ²)R _(yy)+(−{dot over (w)} _(x) +w _(y) w _(z))R _(zy)  (31)

a _(Bz)=(−{dot over (w)} _(y) +w _(x) w _(z))R _(xz)+({dot over (w)} _(x) +w _(y) w _(z))R _(yz)+(−w _(x) ² −w _(y) ²)R _(zz)  (32)

where

{right arrow over (a)} _(B) =[a _(Bx) a _(By) a _(Bz)]tm (33)

The lever arms are a measurement of the distances between the accelerometers and the center of navigation.

The direction cosine matrix is used to convert the body (instrument) frame data to the navigation frame, i.e.

{right arrow over (a)} _(N) =C _(B) ^(N) {right arrow over (a)} _(B).  (34)

The acceleration in the body frame (see Equations (30)-(32)) is a function of [{right arrow over (w)}x]² which is second order in ε and [{dot over ({right arrow over (w)})}x] which is first order in ε. Therefore, to convert to the navigation frame, only a first order expansion of the direction cosine matrix (see Equation (1)) is required, i.e.

C _(B) ^(N) ≈I+ε sin(wt)[{right arrow over (1)}_(φ) x].  (35)

The full matrix multiplication in Equation (34) is not required as only DC terms are of interest. The mean acceleration in the navigation frame is given by

 <a _(Nx)>=½ε² w ² [c _(y) ²(R _(xz) −R_(xx) )+ c _(x) ²(R _(xy) −R_(xx) )+ c _(x) c _(y)( R_(yx) −R _(yz))+c _(x) c _(z)( R_(zx) −R _(zy))]  (36)

<a _(Ny)>=½ε² w ² [c _(x) ²(R _(yz) −R_(yy) )+ c _(z) ²(R _(yz) −R_(yy) )+ c _(x) c _(y)( R_(xy) −R _(xz))+c _(y) c _(z)( R_(zy) −R _(zx))]  (37)

<a _(Nx)>=½ε² w ² [c _(x) ²(R _(zy) −R_(zz) )+ c _(y) ²(R _(zx) −R_(zz) )+ c _(x) c _(z)( R_(xz) −R _(xy))+c _(y) c _(z)( R_(yz) −R _(yz))]  (38)

The underscore in Equation (36) denotes the angular rate terms, while other terms are related to angular acceleration.

Since the accelerometers are not co-located, the lever arms “corrupt” the navigation center estimate for acceleration. Compensation is required.

BRIEF SUMMARY OF THE INVENTION

The invention is a method and apparatus for improving the accuracy of an inertial navigation system. The method comprises (1) obtaining a measure of the angular velocity of a body frame of reference having a first axis, a second axis, and a third axis, (2) obtaining a measure of the acceleration of a first reference point in the direction of the first axis, a second reference point in the direction of the second axis, and a third reference point in the direction of the third axis, the first, second, and third reference points being fixed in the body frame, and (3) determining compensated acceleration values. A compensated acceleration value is the difference of the measure of acceleration of a reference point and a compensation quantity. A compensation quantity is an estimate of the portion of the acceleration of the reference point resulting from the rotation of the body frame.

The compensation quantity comprises a compensation term proportional to the vector cross product of a first vector and a second vector where the first vector is the angular velocity of the body frame and the second vector is the cross product of the angular velocity of the body frame and the vector connecting the navigation center to a reference point. An estimate of the angular velocity of the body frame is obtained by multiplying each of a plurality of measures of the angular velocity obtained at regular intervals in the past by a weight and summing the weighted measures of the angular velocity obtained during a specified time period in the past. The compensation quantity also comprises a compensation term proportional to the cross product of the angular acceleration of the body frame and the vector connecting the navigation center to a reference point. An estimate of the angular acceleration of the body frame is obtained by multiplying each of a plurality of measures of the angular velocity obtained at regular intervals in the past by a weight and summing the weighted measures of the angular velocity obtained during a specified time period in the past.

The method further comprises establishing the optimum navigation center based on a criterion of goodness. The criterion of goodness is minimal weighted acceleration error where acceleration error is a function of the direction of the angular velocity vector and weighted acceleration error is obtained by multiplying the acceleration error by a weighting function and integrating the result over all directions of the angular velocity vector.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the angular rate processing scheme for producing the direction cosine matrix and measures of the angular velocity and the angular acceleration.

FIG. 2 shows complete size effect compensation using actual instrument data.

FIG. 3 shows for the GGP SIAC system the centers of percussions for the X, Y, and Z axis accelerometers, the center of navigation being shown by the dot near the middle of the figure.

FIG. 4 shows for the GGP SIAC Nominal system the X accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 5 shows for the GGP SIAC Nominal system Y accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s), (see Equations 148-150).

FIG. 6 shows for the GGP SIAC Nominal system Z accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 7 shows for the GGP SIAC Nominal system X accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 8 shows for the GGP SIAC Nominal system Y accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 9 shows for the GGP SIAC Nominal system Z accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 10 shows for the A4 BR Nominal system X accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 11 shows for the A4 BR Nominal system Y accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 12 shows for the A4 BR Nominal system Z accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 13 shows for the A4 BR Optimal system X accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 14 shows for the A4 BR Optimal system Y accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 15 shows for the A4 BR Optimal system Z accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 16 shows for the A4 CR Nominal system X accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 17 shows for the A4 CR Nominal system Y accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 18 shows for the A4 CR Nominal system Z accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 19 shows for the A4 CR Optimal system X accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 20 shows for the A4 CR Optimal system Y accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 21 shows for the A4 CR Optimal system Z accelerometer normalized acceleration error for sinusoidal rotation with amplitude we=1, arbitrary direction being specified in spherical coordinates φ_(s) and θ_(s) (see Equations 148-150).

FIG. 22 show the lever arms for optimal “O” and nominal “N” conditions.

DETAILED DESCRIPTION OF THE INVENTION

In practical inertial navigation systems, the center of percussion of the three accelerometers cannot physically share the same origin. As a result, rotation of the inertial system about a fixed axis produces erroneous accelerations which require compensation. In this invention a complete compensation which takes into account both angular rate and angular acceleration terms is achieved. The algorithm performance is determined analytically and used to define the optimal center of navigation for a general accelerometer configuration.

An estimate for the change in velocity at interval n with sampling interval Δt is the integral of the measured acceleration from half the interval before to half the interval after, i.e.

 Δv _(Bx) ^(n)=∫_(c) ^(d) a _(Bx)(t)dt  (39)

Δv _(By) ^(n)=∫_(c) ^(d) a _(By)(t)dt  (40)

Δv _(Bz) ^(n)=∫_(c) ^(d) a _(Bz)(t)dt  (41)

where c=(n−½) Δt and d=(n+½) Δt. Integrating Equations (30), (31), and (32), we obtain

Δv _(Bx)=(−c _(y) ² I ₁ −c _(z) ² I ₁)R _(xx)+(−c _(z) I ₂ +c _(x) c _(y) I ₁)R _(yx)+(c _(y) I ₂ +c _(x) c _(z) I ₁)R _(zx)  (42)

Δv _(By)=(c _(z) I ₂ +c _(x) c _(y) I ₁)R _(xy)+(−c _(x) ² I ₁ −c _(z) ² I ₁)R _(yy)+(−c _(x) I ₂ +c _(y) c _(z) I ₁)R _(zy)  (43)

Δv _(Bz)=(−c _(y) I ₂ +c _(x) c _(z) I ₁)R _(xz)+(c _(x) I ₂ +c _(y) c _(z) I ₁)R _(yz)+(−cx ² I ₁ −c _(y) ² I ₁)R _(zz)  (44)

where

I _(1,n) =∫ _(c) ^(d) W ² dt  (45)

I _(2,n) =∫ _(c) ^(d) {dot over (W)}dt.  (46)

The body frame change in velocity at interval n is given by

Δ{right arrow over (v)} _(B) ^(n) =[Δv _(Bx) ^(n) Δv _(By) ^(n) Δv _(Bz) ^(n)]^(T)  (47)

where T denotes the transpose of the vector.

The compensated change in velocity in the body frame is given by

{circumflex over ({right arrow over (v)})} _(c) ^(n) =Δ{right arrow over (v)} _(B) ^(n) −Δ{right arrow over (v)} _(BC) ^(n)  (48)

where

$\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{v}}_{BC}^{n}} = \begin{bmatrix} {\int_{a}^{b}{{\left( {{\left\lbrack {\overset{\rightarrow}{w}\quad (t)\quad x} \right\rbrack^{2}\quad {\overset{\rightarrow}{R}}_{x}} + {\left\lbrack {\overset{\rightarrow}{\overset{.}{w}}\quad (t)\quad x} \right\rbrack \quad {\overset{\rightarrow}{R}}_{x}}} \right) \cdot {\overset{\rightarrow}{I}}_{x}}{t}}} \\ {\int_{a}^{b}{{\left( {{\left\lbrack {\overset{\rightarrow}{w}\quad (t)\quad x} \right\rbrack^{2}\quad {\overset{\rightarrow}{R}}_{y}} + {\left\lbrack {\overset{\rightarrow}{\overset{.}{w}}\quad (t)\quad x} \right\rbrack \quad {\overset{\rightarrow}{R}}_{y}}} \right) \cdot {\overset{\rightarrow}{I}}_{y}}{t}}} \\ {\int_{a}^{b}{{\left( {{\left\lbrack {\overset{\rightarrow}{w}\quad (t)\quad x} \right\rbrack^{2}\quad {\overset{\rightarrow}{R}}_{z}} + {\left\lbrack {\overset{\rightarrow}{\overset{.}{w}}\quad (t)\quad x} \right\rbrack \quad {\overset{\rightarrow}{R}}_{z}}} \right) \cdot {\overset{\rightarrow}{I}}_{z}}{t}}} \end{bmatrix}^{T}} & (49) \end{matrix}$

and Δ{right arrow over (v)}_(B) ^(n) is the change in velocity in the body frame at time interval n and ideally a=n−½ and b=n+½. The dot product in Equation (49) eliminates the need for the projection matrices shown in Equations (13)-(15).

In an actual system {right arrow over (w)}(t) and {dot over ({right arrow over (w)})}(t) are not available, as only the incremental angles Δ{right arrow over (θ)} are provided. This term is a sum of higher speed angular rate data. The system has the flexibility of summing over different time intervals, giving the user the ability to make terms such as the direction cosine matrix valid at the appropriate time.

There are two terms from Equation 49 that need to be approximated from available data:

A ^(n)=∫_(a) ^(b) [{right arrow over (w)}(t)x] ² dt  (50)

B ^(n)=∫_(a) ^(b) [{dot over ({right arrow over (w)})}(t)x]dt  (51)

The first term can be approximated as

A ^(n) ≈[{circumflex over ({right arrow over (w)})} ^(n) x] ² Δt  (52)

where $\begin{matrix} {{\overset{\rightarrow}{\hat{w}}}^{n} = {\frac{\Delta \quad {\overset{\rightarrow}{\theta}}^{n}}{\Delta \quad t}\left\lbrack {{rad}/s} \right\rbrack}} & (53) \end{matrix}$

$\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\theta}}^{n}} = {\sum\limits_{k = 0}^{3}\quad {\Delta \quad {{\overset{\rightarrow}{\theta}}_{F}^{n - \frac{3}{8} + {\frac{1}{4}\quad k}}\quad\lbrack{rad}\rbrack}}}} & (54) \end{matrix}$

where Δ{right arrow over (θ)}_(F) are the high speed incremental angles provided by the gyros (see FIG. 1 for a one-dimensional example). FIG. 1 shows an angular rate processing scheme for producing the direction cosine matrix, the angular rotation, and the change in angular rotation.

The change in angular rotation Δ{dot over ({right arrow over (θ)})} is useful for approximating B in Equation (51). This requires differencing sums of high speed incremental angles Δ{right arrow over (θ)}'s, i.e. $\begin{matrix} {{\Delta^{2}\quad {\overset{\rightarrow}{\theta}}^{n}} = {\underset{\Delta \quad {\overset{\rightarrow}{\theta}}_{2}}{\underset{}{\sum\limits_{k = 0}^{1}\quad {\Delta \quad {\overset{\rightarrow}{\theta}}_{F}^{n + \frac{3}{8} + {\frac{1}{4}\quad k}}}}} - {\underset{\Delta \quad {\overset{\rightarrow}{\theta}}_{1}}{\underset{}{\sum\limits_{k = 0}^{1}\quad {\Delta \quad {\overset{\rightarrow}{\theta}}_{F}^{n + \frac{5}{8} + {\frac{1}{4}\quad k}}}}}\quad\lbrack{rad}\rbrack}}} & (55) \end{matrix}$

where Δ{right arrow over (θ)}₁ and Δ{right arrow over (θ)}₂ are built and provided by the system, as shown in FIG. 1.

For compensation the angular accelerations are required, and since Δ{right arrow over (θ)}₁ and Δ{right arrow over (θ)}₂ are the change in angle over the time interval Δt/2 while the difference between the two is a change over time interval Δt, $\begin{matrix} \begin{matrix} {{\overset{\rightarrow}{\hat{\overset{.}{w}}}}^{n} = \quad {{\frac{1}{\Delta \quad t}\left\lbrack {{\frac{2}{\Delta \quad t}\quad \Delta \quad {{\overset{\rightarrow}{\theta}}_{2}\left\lbrack {{rad}/s} \right\rbrack}} - {\frac{2}{\Delta \quad t}\quad \Delta \quad {{\overset{\rightarrow}{\theta}}_{1}\left\lbrack {{rad}/s} \right\rbrack}}} \right\rbrack}\quad\left\lbrack {{rad}/s^{2}} \right\rbrack}} \\ {= \quad {{\frac{2}{\Delta \quad t^{2}}\left\lbrack {{\Delta \quad {\overset{\rightarrow}{\theta}}_{2}} - {\Delta \quad {\overset{\rightarrow}{\theta}}_{1}}} \right\rbrack}\quad\left\lbrack {{rad}/s^{2}} \right\rbrack}} \\ {= \quad {\frac{2}{\Delta \quad t^{2}}\quad \Delta^{2}\quad {{\overset{\rightarrow}{\theta}}^{n}\quad\left\lbrack {{rad}/s^{2}} \right\rbrack}}} \end{matrix} & (56) \end{matrix}$

Noise on the high speed angle data Δ{right arrow over (θ)}_(F) ^(n) can produce error in the angular acceleration estimates $\overset{\rightarrow}{\hat{\overset{.}{w^{n}}}}.$

The strategy of using Δ{right arrow over (θ)}₁ in both the Δ²{right arrow over (θ)}^(n)−1 and Δ²{right arrow over (θ)}^(n) estimates minimizes these effects (see FIG. 1). Equation (51)is then approximated as $\begin{matrix} {B_{n} \approx {\left\lbrack {{\overset{\rightarrow}{\hat{\overset{.}{w}}}}^{n}\quad x} \right\rbrack \quad \Delta \quad t}} & (57) \end{matrix}$

Then rewriting Equation (48) in a simplified form (dropping the dot product notation): $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\hat{v}}}_{c}^{n}} = {{\Delta \quad {\overset{\rightarrow}{v}}_{B}^{n}} - {\Delta \quad {t\left\lbrack {{\left\lbrack {{\overset{\rightarrow}{\hat{w}}}^{n}\quad x} \right\rbrack^{2}\quad \overset{\rightarrow}{R}} + {\left\lbrack {{\overset{\rightarrow}{\hat{\overset{.}{w}}}}^{n}\quad x} \right\rbrack \quad \overset{\rightarrow}{R}}} \right\rbrack}}}} & (58) \end{matrix}$

At time index nΔt, the high speed angular rate data from the system is available up to (n+⅜)Δt (see FIG. 1). This means that the Δ²{right arrow over (θ)}^(n) term shown in Equation (55) uses future data; i.e. at time index nΔt only Δ²{right arrow over (θ)}^(n−1) is available. The compensation must rely on partially old data, or rewriting Equation (58): $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\hat{v}}}_{c}^{n}} = {{\Delta \quad {\overset{\rightarrow}{v}}_{B}^{n}} - {\Delta \quad {t\left\lbrack {{\left\lbrack {{\overset{\rightarrow}{\hat{w}}}^{n}\quad x} \right\rbrack^{2}\quad \overset{\rightarrow}{R}} + {\left\lbrack {{\overset{\rightarrow}{\hat{\overset{.}{w}}}}^{n - 1}\quad x} \right\rbrack \quad \overset{\rightarrow}{R}}} \right\rbrack}}}} & (59) \end{matrix}$

The direction cosine matrix is used to convert the body (instrument) frame data to the navigation frame. It is computed in the system from the angular rates w(t) using a different integration interval than for the Δθ; i.e. $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\varphi}}^{({n - {1\text{/}2}})}} = {\sum\limits_{k = 0}^{s}\quad {\Delta \quad {\overset{\rightarrow}{\theta}}_{F}^{n - \frac{7}{8} + {\frac{1}{4}\quad k}}}}} & (60) \end{matrix}$

as shown in FIG. 1. This makes the direction cosine matrix valid at time index nΔt (see FIG. 1). The angle $\begin{matrix} {{\overset{\rightarrow}{\varphi}}^{n} = {\sum\limits_{k = 0}^{n}\quad {\Delta \quad {\overset{\rightarrow}{\varphi}}^{k - {1\text{/}2}}}}} & (61) \end{matrix}$

The direction cosine matrix in Equation (1) is equivalently $\begin{matrix} {C_{B}^{N,n} = {I + {\frac{\sin \quad {{\overset{\rightarrow}{\varphi}}^{n}}}{{\overset{\rightarrow}{\varphi}}^{n}}\left\lbrack {{\overset{\rightarrow}{\varphi}}^{n}\quad x} \right\rbrack} + {\frac{1 - {\cos \quad {{\overset{\rightarrow}{\varphi}}^{n}}}}{{{\overset{\rightarrow}{\varphi}}^{n}}^{2}}\left\lbrack {{\overset{\rightarrow}{\varphi}}^{n}\quad x} \right\rbrack}^{2}}} & (62) \end{matrix}$

where |{right arrow over (φ)}| is the magnitude of vector {right arrow over (φ)}.

The corrected change in velocity in the navigation frame is given by $\begin{matrix} \begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\hat{v}}}_{N}^{n}} = \quad {C_{B}^{N,n}\quad \Delta \quad {\overset{\rightharpoonup}{\hat{v}}}_{c}^{n}}} \\ {= \quad {C_{B}^{N,n}\quad \left( {{\Delta \quad {\overset{\rightarrow}{v}}_{B}^{n}} - {\Delta \quad {t\left\lbrack {{\left\lbrack {{\overset{\rightarrow}{\hat{w}}}^{n}\quad x} \right\rbrack^{2}\quad \overset{\rightarrow}{R}} + {\left\lbrack {{\overset{\rightarrow}{\hat{\overset{.}{w}}}}^{n - 1}\quad x} \right\rbrack \quad \overset{\rightarrow}{R}}} \right\rbrack}}} \right)}} \end{matrix} & (63) \end{matrix}$

which can be broken into two terms: $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\hat{v}}}_{N}^{n}} = {{C_{B}^{N,n}\quad \left( {{\Delta \quad {\overset{\rightarrow}{v}}_{B}^{n}} - {\Delta \quad {t\left\lbrack {{\overset{\rightarrow}{\hat{w}}}^{n}\quad x} \right\rbrack}^{2}\quad \overset{\rightarrow}{R}}} \right)} - {C_{B}^{N,n}\quad \left( {\Delta \quad {t\left\lbrack {{\overset{\rightarrow}{\hat{\overset{.}{w}}}}^{n - 1}\quad x} \right\rbrack}\overset{\rightarrow}{R}} \right)}}} & (64) \end{matrix}$

The error in the second term is the delayed frequency rate term {dot over ({right arrow over (w)})}^(n−1) compounded by multiplication of the current direction cosine matrix C_(B) ^(N,n). That is, the acceleration term is transformed with the wrong direction cosine matrix. For this second term, it would be more appropriate to delay the direction cosine matrix where

C _(B) ^(N,n−1) ≈C _(B) ^(N,n) [I−Δ{right arrow over (φ)} ^(n−½) x]  (65)

is an estimate for the direction cosine matrix delayed one interval. Since the dot products are omitted, it is easier to keep the three terms in Equation (64) separate. The compensated change in velocities then simplify to

Δ{circumflex over ({right arrow over (v)})}_(N) ^(n) =C _(B) ^(N,n) [Δ{right arrow over (v)} _(B) ^(n) −Δ{circumflex over ({right arrow over (v)})} _(BC) ^(n)]  (66)

where $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\hat{\upsilon}}}_{BC}^{n}} = {\underset{DOT}{\underset{}{\Delta \quad {t\left\lbrack {{\overset{\rightarrow}{\hat{w}}}^{n}\quad x} \right\rbrack}^{2}\quad \overset{\rightarrow}{R}}} + {\left\lbrack {I - {\Delta \quad {\overset{\rightarrow}{\varphi}}^{n - {1\text{/}2}}\quad x}} \right\rbrack \quad {\underset{DOT}{\underset{}{\Delta \quad {t\left\lbrack {{\overset{\rightarrow}{\hat{w}}}^{n - 1}\quad x} \right\rbrack}\quad \overset{\rightarrow}{R}}}.}}}} & (67) \end{matrix}$

To extract the three-axis information, the underbraced region in Equation (67) requires the dot product manipulation shown in Equation (49). If

Δ{circumflex over ({right arrow over (v)})} _(BC) ^(n) =[Δ{circumflex over (v)} _(BCx) ^(n) Δ{circumflex over (v)} _(BCy) ^(n) Δ{circumflex over (v)} _(BCz) ^(n)]^(T)  (68)

then simplifying Equation (67), $\begin{matrix} {{{\Delta \quad {\hat{v}}_{{BC}_{x}}^{n}} = {{\Delta \quad {t\left\lbrack {{R_{xx}\quad \left( {{- {\hat{w}}_{y}^{2}} - {\hat{w}}_{x}^{2}} \right)} + {R_{yx}\quad \left( {{\hat{w}}_{x}\quad {\hat{w}}_{y}} \right)} + {R_{xx}\quad \left( {{\hat{w}}_{x}\quad {\hat{w}}_{z}} \right)}} \right\rbrack}} + {\Delta \quad {t\left\lbrack {{{\hat{\overset{.}{w}}}_{x}\quad \left( {{{- \Delta}\quad \varphi_{x}\quad R_{zy}} - {\Delta \quad \varphi_{y}\quad R_{yz}}} \right)} + {{\hat{\overset{.}{w}}}_{y}\quad \left( {R_{zx} + {\Delta \quad \varphi_{y}\quad R_{xx}}} \right)} + {{\hat{\overset{.}{w}}}_{z}\quad \left( {{- R_{yx}} + {\Delta \quad \varphi_{z}\quad R_{xy}}} \right)}} \right\rbrack}}}}\quad} & (69) \\ {{{\Delta \quad {\hat{v}}_{{BC}_{y}}^{n}} = {{\Delta \quad {t\left\lbrack {{R_{xy}\quad \left( {{\hat{w}}_{x}\quad {\hat{w}}_{y}} \right)} + {R_{yy}\quad \left( {{- {\hat{w}}_{x}^{2}} - {\hat{w}}_{z}^{2}} \right)} + {R_{zy}\quad \left( {{\hat{w}}_{y}\quad {\hat{w}}_{z}} \right)}} \right\rbrack}} + {\Delta \quad {t\left\lbrack {{{\hat{\overset{.}{w}}}_{x}\quad \left( {{\Delta \quad \varphi_{x}\quad R_{yz}} - R_{zy}} \right)} + {{\hat{\overset{.}{w}}}_{y}\quad \left( {{{- \Delta}\quad \varphi_{z}\quad R_{zy}} - {\Delta \quad \varphi_{x}\quad R_{xx}}} \right)} + {{\hat{\overset{.}{w}}}_{z}\quad \left( {{\Delta \quad \varphi_{x}\quad R_{xx}} + R_{xy}} \right)}} \right\rbrack}}}}\quad} & (70) \\ {{\Delta \quad {\hat{v}}_{{BC}_{z}}^{n}} = {{\Delta \quad {t\left\lbrack {{R_{xx}\quad \left( {{\hat{w}}_{x}\quad {\hat{w}}_{z}} \right)} + {R_{yz}\quad \left( {{\hat{w}}_{y}\quad {\hat{w}}_{z}} \right)} + {R_{zz}\quad \left( {{- {\hat{w}}_{x}^{2}} - {\hat{w}}_{y}^{2}} \right)}} \right\rbrack}} + {\Delta \quad {t\left\lbrack {{{\hat{\overset{.}{w}}}_{x}\quad \left( {{\Delta \quad \varphi_{x}\quad R_{zy}} + R_{yz}} \right)} + {{\hat{\overset{.}{w}}}_{y}\quad \left( {{\Delta \quad \varphi_{y}\quad R_{xx}} - R_{xx}} \right)} + {{\hat{\overset{.}{w}}}_{z}\quad \left( {{- \Delta}\quad \varphi_{y}\quad {R_{yx}--}\Delta \quad \varphi_{x}\quad R_{xy}} \right)}} \right\rbrack}}}} & (71) \end{matrix}$

All the ŵ terms are at n, the {dot over ({circumflex over (w)})} are at n−1, and the Δφ terms are at n−½ (see Equation (67)).

A block diagram of the compensation technique given actual instrument data is shown in FIG. 2.

The compensation shown in Equations (69)-(71) applies to a general rotational input from an arbitrary direction (i.e. not limited to rotation about the origin of the coordinate frame). The special case of rotational input about the origin of the coordinate frame (i.e. navigation center) is useful for evaluating algorithm performance because after compensation, the velocity in the navigation frame should be zero. Therefore, the compensated velocity in the body frame (see Equation (66)) is treated as a velocity error

{right arrow over (E)} _(B) =Δ{right arrow over (v)} _(B) ^(n) −Δ{circumflex over ({right arrow over (v)})} _(BC) ^(n).  (72)

while the velocity in the navigation frame is also treated as a velocity error Δ{circumflex over ({right arrow over (v)})}_(N) ^(n)→{right arrow over (E)}_(N).

For

{right arrow over (E)} _(B) =[E _(Bx) E _(By) E _(Bz)]  (73)

the error in the body frame is given by

E _(Bx) =T ₁[(c _(y) ² +c _(x)

2)R _(xx) −c _(x) c _(y) R _(yx) −

 c_(x) c _(z) R _(zx) ]+T ₃ [−c _(z) R_(yx) +

c_(y) R_(zx) ]+T ₂ [−c

z² R_(xy) +c _(x) c _(z) R_(zy) −

c_(y) ² R_(xz) +c

xc _(y) R_(yz) ]  (74)

E _(By) =T ₁ [−c _(x) c _(y) R

xy+(c _(x) ² +c _(z) ²)R _(yy) −c

yc _(z) R _(zy) ]+T ₃ [c _(z) R_(xy) −

c_(x) R_(zy) ]+T

2 [−c _(x) ² R_(yz) c _(y) c _(z) R_(zx) +

c_(x) c _(y) R_(xz) −c _(z) ² R_(yx) ]  (75)

E _(Bz) =T ₁ [−c _(x) c _(z) R

xz−c _(y) c _(z) R _(yz)+(c _(x)

2 +c _(y) ²)R _(xz) ]+T ₃ [−c

y R_(xz) +c _(x) R_(yz) ]+T ₂

[−c_(x) ² R_(zy) −c _(y) ² R_(zx) c

yc _(z) R_(yx) +c _(x) c _(z) R_(xy) ]  (76)

where

T ₁ =−I _(1,n) +Δt(ŵ _(x) ^(n))²  (77)

T ₂ =Δt({dot over ({circumflex over (w)})} _(x) ^(n−1))Δφ_(x) ^(n−½)  (78)

T ₃ =I _(2,n) −Δt({dot over ({circumflex over (w)})} _(x) ^(n−1))  (79)

The velocity error in the navigation frame (substituting Equation (72) into Equation (66)) is given by

{right arrow over (E)} _(N) ^(n) =C _(B) ^(N,n) {right arrow over (E)} _(B) ^(n)  (80)

which is described in element form by

{right arrow over (E)} _(N) =[E _(Nx) E _(Ny) E _(Nz)].  (81)

Since {right arrow over (φ)}=φ{right arrow over (1)}_(φ) (see Equations 3, 6, and 61), the velocity error in the navigation frame is given by

E _(Nz)=(1−(1−cos(φ))(c _(y) ² +c _(z) ²))E _(Bx)+(c _(x) c _(y)(1−cos(φ))−c _(z) sin(φ))E _(By)+(c _(x) c _(z)(1−cos(φ))+c _(y) sin(φ))E _(Bz)  (82)

 E _(Ny)=(c _(x) c _(y)(1−cos(φ))+c _(z) sin(φ))E _(Bx)+(1−(c _(x) ² c _(z) ²)(1−cos(φ))E _(By)+(c _(y) c _(z)(1−cos(φ))−c _(x) sin(φ))E _(Bz)  (83)

E _(Nz)=(c _(x) c _(z)(1−cos(φ))−c _(y) sin(φ))E _(Bx)+(c _(y) c _(z))(1−cos(φ))+c _(x) sin(φ))E _(By)+(1−(c _(x) ² c _(y) ²(1−cos(φ))E _(Bz)  (84)

which depends on the estimation error in angular rate T₁, estimation error in change in angular rate T₃, error due to using delayed version of angular rate T₂, and the magnitude ε, applied direction [c_(x) c_(y) c_(z)], and frequency w.

An analytic example of the forgoing follows. For the angular rotation shown in Equation (3) the angular rate vector (X, Y, and Z components) is given by $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\varphi}}^{n}} = {\int_{{({n - {1\text{/}2}})}\quad \Delta \quad t}^{{({n + {1\text{/}2}})}\quad \Delta \quad t}{\overset{\rightarrow}{w}\quad (t)\quad {t}}}} & (85) \end{matrix}$

the change in angular rate is given by $\begin{matrix} {{\Delta^{2}\quad {\overset{\rightarrow}{\theta}}^{n}} = {{\int_{{({n - {1\text{/}4}})}\quad \Delta \quad t}^{{({n + {3\text{/}4}})}\quad \Delta \quad t}{\overset{\rightarrow}{w}\quad (t)\quad {t}}} - {\int_{{({n - {3\text{/}4}})}\quad \Delta \quad t}^{{({n + {1\text{/}4}})}\quad \Delta \quad t}{\overset{\rightarrow}{w}\quad (t)\quad {t}}}}} & (86) \end{matrix}$

and the corrections for the direction cosines is given by $\begin{matrix} {{\Delta \quad {\overset{\rightarrow}{\varphi}}^{({n - {1\text{/}2}})}} = {\int_{{({n - 1})}\quad \Delta \quad t}^{n\quad \Delta \quad t}{\overset{\rightarrow}{w}\quad (t)\quad {{t}.}}}} & (87) \end{matrix}$

For data at time t=0 (i.e. n=0), the angular information for the direction cosine matrix is collected back to t=−Δt (See FIG. 1). Thus, $\begin{matrix} {{\overset{\rightarrow}{\varphi}}^{n} = {\int_{{- \quad \Delta}\quad t}^{n\quad \Delta \quad t}{\overset{\rightarrow}{w}\quad (t)\quad {{t}.}}}} & (88) \end{matrix}$

and for consistency the angle is also a sum starting at t=−Δt. Therefore, $\begin{matrix} {{\overset{\rightarrow}{\varphi}}^{n} = {\int_{{- \quad \Delta}\quad t}^{{({n + {1\text{/}2}})}\quad \Delta \quad t}{\overset{\rightarrow}{w}\quad (t)\quad {{t}.}}}} & \square \end{matrix}$

As an example, suppose the input angular rate is only in the X direction with frequency w, i.e.

 {right arrow over (w)}=εw cos(wt){right arrow over (1)}_(x)  (90)

{dot over ({right arrow over (w)})}=−εw ² sin(wt){right arrow over (1)}_(x)  (91)

i.e. c_(x)=1, c_(y)=0, and c_(z)=0. Then,

{right arrow over (w)} ^(n) =εw cos(wnΔt){right arrow over (1)}_(x)  (92)

{dot over ({right arrow over (w)})} ^(n) =−εw ² sin(wnΔt){right arrow over (1)}_(x).  (93)

To generate the change in velocity data in the body frame (see Equations (42)-(46)), $\begin{matrix} {I_{1,n} = {\frac{\varepsilon^{2}\quad w^{2}\quad \Delta \quad t}{2} + {\frac{\varepsilon^{2}\quad w}{2}\quad \sin \quad \left( {w\quad \Delta \quad t} \right)\quad \cos \quad \left( {2{nw}\quad \Delta \quad t} \right)}}} & (94) \end{matrix}$

 I _(2,n)=−2εw sin(½wΔt)sin(nwΔt)  (95)

then Equations (42)-(44) simplify to

Δv _(x)=0  (96)

Δv _(y) =−I ₁ R _(yy) −I ₂ R _(zy)  (97)

Δv _(z) =I ₂ R _(yz) −I ₁ R _(zz).  (98)

Then change in angular rate is given by

Δ{right arrow over (θ)}^(n)=2ε sin(½wΔt)cos(nwΔt){right arrow over (1)}_(x),  (99)

Δ{dot over ({right arrow over (θ)})}^(n)=2ε[cos(¾wΔt)−cos({fraction (3/4)}wΔt)]sin(nwΔt){right arrow over (1)}_(x).  (100)

The correction to the direction cosine is given by

Δ{dot over (φ)}^((n−½))=ε[sin(nwΔt)−sin((n−1)wΔt)]{right arrow over (1)}_(x).  (101)

To form the direction cosine, we obtain

{right arrow over (φ)}^(n)=ε[sin(nwΔt)+sin(wΔt)]{right arrow over (1)}_(x).  (102)

The angle {right arrow over (θ)}^(n) is given by

{right arrow over (θ)}^(n)=ε[sin((n+½)wΔt)+sin(wΔt)]{right arrow over (1)}_(x).  (103)

The direction cosine matrix is produced by combining Equation 62 and Equation 102: $\begin{matrix} {C_{B}^{N,n} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & {\cos \quad \left( \varphi_{x}^{n} \right)} & {- {\sin \left( \varphi_{x}^{n} \right)}} \\ 0 & {\sin \left( \varphi_{x}^{n} \right)} & {\cos \quad \left( \varphi_{x}^{n} \right)} \end{bmatrix}} & (104) \end{matrix}$

The SIAC accelerometer configuration on the block is such that the position of the center of percussion for the X, Y, and Z axis accelerometers are

{right arrow over (X)}_(P)=[1.317 −0.055 0.155]

{right arrow over (Y)}_(P)=[−0.0550 0.8270 0.155]

{right arrow over (Z)}_(P)=[−0.1150 −0.1950 −0.707]  (105)

respectively, where the dimensions are in inches, and assuming an arbitrary but fixed coordinate frame origin.

The lever arms need to reflect distances from the accelerometers to the navigation center. Usually lever arms are measured from a convenient reference frame (i.e. Equation (105)) and adjusted when the navigation center is defined. For a center of navigation using a simple splitting-the-differences technique

{right arrow over (N)} _(C)=[−0.0850 −0.0125 0.155]  (106)

the transformed lever arms (i.e. such that the navigation center is at zero) are $\begin{matrix} {{{\overset{\rightarrow}{R}}_{x} = {{{\overset{\rightarrow}{X}}_{P} - {\overset{\rightarrow}{N}}_{C}} = \begin{bmatrix} 1.402 & 0.070 & 0 \end{bmatrix}}}{{\overset{\rightarrow}{R}}_{y} = {{{\overset{\rightarrow}{Y}}_{P} - {\overset{\rightarrow}{N}}_{C}} = \begin{bmatrix} 0.030 & 0.8395 & 0 \end{bmatrix}}}{{\overset{\rightarrow}{R}}_{z} = {{{\overset{\rightarrow}{Z}}_{P} - {\overset{\rightarrow}{N}}_{C}} = \begin{bmatrix} {- 0.030} & {- 0.07} & {- 0.8620} \end{bmatrix}}}} & (107) \end{matrix}$

The optimal center of navigation will be derived below. The centers of percussion and the center of navigation are shown in FIG. 3. For the SIAC and an angular rate applied in the X direction, Equations (69)-(71) simplify to

 Δ{circumflex over (v)} _(BCx) ^(n)=0  (108)

Δ{circumflex over (v)} _(BCy) ^(n) =Δt[−(ŵ _(x) ^(n))² R _(yy)+({dot over ({circumflex over (w)})} _(x) ^(n−1))Δφ_(x) ^(n−½) R _(yz)]  (109)

Δ{circumflex over (v)} _(BCx) ^(n) =Δt[−(ŵ _(x) ^(n))² R _(zz)+({dot over ({circumflex over (e)})} _(x) ^(n−1))R _(yz)]  (110)

Using Equations (96)-(98) and (108)-(110), we obtain

E _(Bx)=0  (111)

E _(By) =T ₁ R _(yy) −T ₂ R _(yz)  (112)

E _(Bz) =T ₁ R _(zz) +T ₃ R _(yz).  (113)

The acceleration error (see Equation (80)) is given by $\begin{matrix} {{\Delta \quad {\hat{a}}_{N}^{- n}} = \frac{{\overset{\rightarrow}{E}}_{N}^{n}}{\Delta \quad t}} & (114) \end{matrix}$

should be zero mean for perfect size effect compensation. The AC terms in the navigation frame velocity error (see Equation (80)) produce a zero net change in velocity and therefore zero net change in acceleration.

The body error {right arrow over (E)}_(B) is simplified by substituting Equations (96)-(98) and Equations (108)-(110) into Equations (111)-(113). The DC portion of Equation (80) is a combination of the DC terms of C_(B) ^(N,n) multiplied by the DC terms of {right arrow over (E)}_(B). In addition, the product of the harmonics in C_(B) ^(N,n) and {right arrow over (E)}_(B) also produce DC terms since $\begin{matrix} {{2\quad {\sin^{2}({wt})}} = {\underset{\underset{DC}{}}{1} - {\underset{\underset{AC}{}}{\cos \quad \left( {2{wt}} \right)}.}}} & (115) \end{matrix}$

The direction cosine matrix (combination of Equations (102) and (104)) can be expanded using Bessel functions, i.e.

cos(φ_(x) ^((n−½)))=cos(K ₁)C _(1,n)−sin(K ₁)C _(2,n)  (116)

sin(φ_(x) ^((n−½)))=sin(K ₁)C _(1,n)+cos(K ₁)C _(2,n).  (117)

where

 K ₁=ε sin(wΔt)  (118)

$\begin{matrix} {C_{1,n} = {{J_{0}(\varepsilon)} + {2{\sum\limits_{m = 1}^{\infty}\quad {{J_{2m}(\varepsilon)}{\cos \left( {2{mnw}\quad \Delta \quad t} \right)}}}}}} & (119) \\ {C_{2,n} = {2{\sum\limits_{m = 1}^{\infty}\quad {{J_{{2m} - 1}(\varepsilon)}{{\sin \left( {\left( {{2m} - 1} \right){nw}\quad \Delta \quad t} \right)}.}}}}} & (120) \end{matrix}$

and J_(x)(θ) represents the Bessel function of the argument θ and order x.

If $\begin{matrix} {{\frac{J_{3}(\varepsilon)}{J_{1}(\varepsilon)}{\operatorname{<<}1}},{\varepsilon {\operatorname{<<}3}}} & (121) \end{matrix}$

then

sin(K ₁)=2J ₁(ε)sin(wΔt)  (122)

and if $\begin{matrix} {{\frac{J_{2}(\varepsilon)}{J_{0}(\varepsilon)}{\operatorname{<<}1/2}},{\varepsilon {\operatorname{<<}3/2}}} & (123) \end{matrix}$

then

cos(K ₁)=J₀(ε)  (124)

If $\begin{matrix} {{\frac{J_{2}(\varepsilon)}{J_{1}(\varepsilon)}{\operatorname{<<}1}},{\varepsilon {\operatorname{<<}3/2}}} & (125) \end{matrix}$

then

C _(1,n) ≈J ₀(ε)  (126)

C _(2,n)≈2J ₁(ε)sin(nwΔt)  (127)

This means only the DC and first harmonic terms of the error {right arrow over (E)} (see Equations (111)-(113)) are important.

The important terms from Equations (111)-(113) are $\begin{matrix} {< T_{1}>={\frac{\varepsilon^{2}}{\Delta \quad t}\left\lbrack {1 - {\cos \left( {w\quad \Delta \quad t} \right)} - \frac{\left( {w\quad \Delta \quad t} \right)^{2}}{2}} \right\rbrack}} & (128) \\ {< T_{2}>=\quad {{\frac{2\varepsilon^{2}}{\Delta \quad t}\left\lbrack {{\cos \left( {\frac{3}{4}w\quad \Delta \quad t} \right)} - {\cos \left( {\frac{1}{4}w\quad \Delta \quad t} \right)}} \right\rbrack}\left\lbrack {{- 1} + {\cos \left( {w\quad \Delta \quad t} \right)}} \right\rbrack}} & (129) \\ \begin{matrix} {< T_{3}>=\quad {{- \frac{2\varepsilon}{\Delta \quad t}}{\sin \left( {{nw}\quad \Delta \quad t} \right)}\left\lbrack {{\left( {w\quad \Delta \quad t} \right){\sin \left( {\frac{1}{2}w\quad \Delta \quad t} \right)}} + {2\left\lbrack \cos \right.}} \right.}} \\ \left. {{\quad \left. {\left( {\frac{3}{4}w\quad \Delta \quad t} \right) - {\cos \left( {\frac{1}{4}w\quad \Delta \quad t} \right)}} \right\rbrack}{\cos \left( {w\quad \Delta \quad t} \right)}} \right\rbrack \end{matrix} & (130) \end{matrix}$

If $\begin{matrix} {w{\operatorname{<<}\frac{\sqrt{20}}{\Delta \quad t}}} & (131) \end{matrix}$

then $\begin{matrix} {{\cos \left( {w\quad \Delta \quad t} \right)} \approx {1 - \frac{\left( {w\quad \Delta \quad t} \right)^{2}}{2} + \frac{\left( {w\quad \Delta \quad t} \right)^{4}}{24}}} & (132) \\ {{\sin \left( {w\quad \Delta \quad t} \right)} \approx {{w\quad \Delta \quad t} - \frac{\left( {w\quad \Delta \quad t} \right)^{3}}{6}}} & (133) \end{matrix}$

and the important terms simplify as $\begin{matrix} {< T_{1} > \approx {\frac{1}{24}\frac{\varepsilon^{2}}{\Delta \quad t}\left( {w\quad \Delta \quad t} \right)^{4}}} & (134) \\ {< T_{2} > \approx {\frac{1}{4}\frac{\varepsilon^{2}}{\Delta \quad t}\left( {w\quad \Delta \quad t} \right)^{4}}} & (135) \\ {< T_{3} > \approx {\frac{\varepsilon}{\Delta \quad t}\frac{49}{96}\left( {w\quad \Delta \quad t} \right)^{4}{\sin \left( {{nw}\quad \Delta \quad t} \right)}}} & (136) \end{matrix}$

For $\begin{matrix} {\varepsilon {\operatorname{<<}1}} & (137) \\ {{J_{0}(\varepsilon)} = {{\frac{\varepsilon^{0}}{2^{0}{0!}}\left( {1 - \frac{\varepsilon^{2}}{2} + {\frac{\varepsilon^{4}}{2}\cdots}} \right)} \approx 1}} & (138) \\ {{{J_{1}(\varepsilon)} = {{\frac{\varepsilon^{1}}{2^{1}{1!}}\left( {1 - \frac{\varepsilon^{2}}{6} + \cdots} \right)} \approx \frac{\varepsilon}{2}}},} & (139) \end{matrix}$

the acceleration error is given by $\begin{matrix} {{\Delta \quad {\hat{a}}_{N_{x}}} = 0} & (140) \\ {{\Delta \quad {\hat{a}}_{N_{y}}} \approx {\frac{\varepsilon^{2}}{24\quad \Delta \quad t^{2}}{\left( {w\quad \Delta \quad t} \right)^{4}\left\lbrack {{- \underset{\_}{R_{yy}}} + \frac{R_{yz}}{8}} \right\rbrack}}} & (141) \\ {{\Delta \quad {\hat{a}}_{N_{z}}} \approx {\frac{\varepsilon^{2}}{24\quad \Delta \quad t^{2}}{\left( {w\quad \Delta \quad t} \right)^{4}\left\lbrack {{- \underset{\_}{R_{zz}}} + \frac{R_{yz}}{8}} \right\rbrack}}} & (142) \end{matrix}$

The underlined terms are due to angular rate w, while the other terms are due to angular acceleration {dot over (w)}. The harmonic terms that create DC are from T₃ and the direction cosine matrix C_(B) ^(N,n), and reduce the impact of the angular acceleration {dot over (w)}. terms in Equations (140)-(142).

A similar process is used to develop a sinusoidal angular rate input from an arbitrary direction and given the conditions in Equations (131) and (137). The acceleration error is given by $\begin{matrix} {{\Delta \quad {\hat{a}}_{N_{x}}} = {\frac{\varepsilon^{2}\quad \left( {w\quad \Delta \quad t} \right)^{4}}{24\quad \Delta \quad t^{2}}\left\lbrack {{{- \left( {c_{y}^{2} + c_{z}^{2}} \right)}\quad \underset{\_}{R_{xx}}} + {c_{x}c_{y}\quad \underset{\_}{R_{yx}}} + {c_{x}\quad c_{x}\quad \underset{\_}{R_{xx}}} + {\frac{c_{x}^{2}}{8}\quad R_{xy}} - {\frac{c_{x}\quad c_{x}}{8}\quad R_{xy}} + {\frac{c_{y}^{2}}{8}\quad R_{xx}} - {\frac{c_{x}\quad c_{y}}{8}\quad R_{yx}}} \right\rbrack}} & (143) \\ {{\Delta \quad {\hat{a}}_{N_{y}}} = {\frac{\varepsilon^{2}\quad \left( {w\quad \Delta \quad t} \right)^{4}}{24\quad \Delta \quad t^{2}}\left\lbrack {{c_{x}\quad c_{y}\quad \underset{\_}{R_{xy}}} - {\left( {c_{x}^{2} + c_{z}^{2}} \right)\quad \underset{\_}{R_{yy}}} + {c_{y}\quad c_{x}\quad \underset{\_}{R_{zy}}} + {\frac{c_{x}^{2}}{8}\quad R_{yx}} - {\frac{c_{y}\quad c_{8}}{8}\quad R_{xx}} + {\frac{c_{x}^{2}}{8}\quad R_{yx}} - {\frac{c_{x}\quad c_{y}}{8}\quad R_{xz}}} \right\rbrack}} & (144) \\ {{\Delta \quad {\hat{a}}_{N_{z}}} = {\frac{\varepsilon^{2}\quad \left( {w\quad \Delta \quad t} \right)^{4}}{24\quad \Delta \quad t^{2}}\left\lbrack {{c_{x}\quad c_{z}\quad \underset{\_}{R_{xz}}} + {c_{y}\quad c_{x}\quad \underset{\_}{R_{yz}}} - {\left( {c_{x}^{2} + c_{y}^{2}} \right)\quad \underset{\_}{R_{zz}}} - {\frac{c_{y}\quad c_{x}}{8}\quad R_{yx}} + {\frac{c_{y}^{2}}{8}\quad R_{zx}} - {\frac{c_{x}\quad c_{z}}{8}\quad R_{xy}} + {\frac{c_{x}^{2}}{8}\quad R_{xy}}} \right\rbrack}} & (145) \end{matrix}$

The acceleration error depends on the input angular rate and the center of navigation (see Equations (106) and (107)). The mean squared error (MSE) is the sum of the square of the errors in the three axis, i.e.

MSE=Δâ _(Nx) ² +Δâ _(Ny) ² +Δa _(Nz) ².  (146)

The total error is the sum of the MSE over all input directions, i.e.

 TE={fraction (1/4π)}∫_(Cx)∫_(Cy)∫_(Cz)MSEdc _(x) dc _(y) dc _(z)  (147)

where {fraction (1/4π)} is the normalization constant such that for MSE=1( ), TE=1( ). Given the constraints in Equation (7), the total error is simplified using spherical coordinates where

c _(x)=sin(φ_(s))cos(θ_(s))  (148)

c _(y)=sin(φ_(s))sin(θ_(s))  (149)

c _(z)=sin(φ_(s)).  (150)

and $\begin{matrix} {{TE} = {\frac{1}{4\quad \pi}\quad {\int_{\varphi_{s} = 0}^{\pi}{\int_{\theta_{s} = 0}^{2\quad \pi}{{MSE}\quad \left( {\varphi_{s},\theta_{s}} \right)\quad \sin \quad \varphi_{s}\quad {\theta_{s}}\quad {\varphi_{s}}}}}}} & (151) \end{matrix}$

The total error can be expanded as

TE=TE_(x)+TE_(y)+TE_(z)  (152)

where TE_(X) is the total error assuming MSE=Δâ_(Nx) ² and TE_(y) and TE_(z) have similar definitions. An example for the SIAC system (split difference center of navigation=nominal, see Equation (106)) of the normalized acceleration error as a function of φ_(s) and θ_(s) for the X-, Y-, and Z-axis accelerometers is shown in FIGS. 4, 5, and 6 respectively. The error plots assume ε=1/w. FIGS. 4, 5, and 6 show the normalized acceleration error for sinusoidal rotation with amplitude wε=1 and arbitrary direction specified in spherical coordinates θ_(s) and φ_(s) (see Equations (148)-(150)).

The coordinates (N_(Cx), N_(Cy), N_(Cz)) that produce a minimum total error TE define the optimal navigation center which is determined by simultaneously solving the equations $\begin{matrix} {{\frac{\quad}{N_{Cx}}\lbrack{TE}\rbrack} = 0} & (153) \\ {{\frac{\quad}{N_{Cy}}\lbrack{TE}\rbrack} = 0} & (154) \\ {{\frac{\quad}{N_{Cz}}\lbrack{TE}\rbrack} = 0} & (155) \end{matrix}$

The optimal navigation center {right arrow over (N)}_(C) given lever arms produced with an arbitrary coordinate origin $\begin{matrix} {N_{Cx} = {- {\frac{1}{70}\left\lbrack {{64X_{Px}} + {3\quad \left( {Z_{Px} + Y_{Px}} \right)}} \right\rbrack}}} & (156) \\ {N_{Cy} = {- {\frac{1}{70}\left\lbrack {{64Y_{Py}} + {3\quad \left( {Z_{Py} + Y_{Py}} \right)}} \right\rbrack}}} & (157) \\ {N_{Cz} = {- {\frac{1}{70}\left\lbrack {{64Z_{Pz}} + {3\quad \left( {X_{Pz} + Y_{Pz}} \right)}} \right\rbrack}}} & (158) \end{matrix}$

Assuming ε=1/w, the navigation frame acceleration error (see Equations (143)-(145)) can be normalized by (wΔt). Universal performance curves are generated that are independent of the product of frequency and sampling time.

Given the lever arms in Equation (105), the optimal navigation center for the accelerometer configuration discussed previously has the coordinates N_(Cx)=−1.1968, N_(Cy)=−0.7454, and N_(Cz)=0.6331.

An example for the SIAC system (optimal navigation center) of the normalized acceleration error for sinusoidal rotation as a function of direction specified in spherical coordinates φ_(s) and θ_(s) for the X, Y, and Z axis accelerometers is shown in FIGS. 7, 8, and 9 respectively. The error plots assume ε=1/w.

The A4 BR accelerometer module consists of accelerometers for all three axes within the same package. The centers of percussion for this configuration are respectfully

{right arrow over (X)} _(P)=[0.845 0 0]

{right arrow over (Y)} _(P)=[0 −0.070 0]

{right arrow over (Z)} _(P)=[0 0.285 0.009]  (159)

where the dimensions are in inches. Since the cross terms are inherently small, past mechanisms for size effect did not include change in angular rate terms (see Equations (69)-(71), all Δ{dot over ({circumflex over (θ)})} terms were neglected), so results presented here are not indicative of how those systems would perform. The coordinates of the center of navigation were nominally N_(Cx)=0, N_(Cy)=0, and N_(Cz)=0.

For compensation as suggested herein the normalized error surfaces for the nominal center of navigation are shown in FIGS. 10, 11, and 12 for sinusoidal rotation as a function of direction specified in spherical coordinates φ_(s) and θ_(s) for the X, Y, and Z axis accelerometers. The optimal navigation center N_(Cx)=−0.7726, N_(Cy)=0.0518, and N_(Cz)=−0.008 and the normalized error surfaces are shown in FIGS. 13, 14, and 15.

The A4 CR accelerometer module consists of accelerometers for all three axes within the same package with centers of percussion

{right arrow over (X)} _(P)=[−0.440 0 0]

{right arrow over (Y)} _(P)=[0 −0.585 0]

{right arrow over (Z)} _(P)=[0 0 −0.380]  (160)

where the dimensions are in inches. The center of navigation was nominally N_(Cx)=0, N_(Cy)=0, and N_(Cz)=0. For compensation as suggested herein, the normalized error surfaces for the nominal center of navigation are shown in FIGS. 16, 17, and 18. The optimal navigation center N_(Cx)=0.4023, N_(Cy)=0.5349, and N_(Cz)=0.3474, and the normalized error surfaces are shown in FIGS. 19, 20, and 21. The level arms and algorithm performance is summarized in FIG. 22. The accelerometer types are SIAC GGP (“S”), A4 BR (“BR”), AND A4 CR (“CR”). The navigation center is denoted by “—N” or “—O” where “N” stands for “nominal” and “O” stands for “optimal”.

For a given accelerometer geometry within a system, the navigation center should be selected such that the compensation error is both distributed over the rotational input angle, and over the three accelerometer axes. This ensures that a system is not particularly sensitive to size effect errors in any given axis. The least squares approach is useful for determining the optimal center of navigation, which results in the optimal set of lever arms. The dominant dependence is the distances between a given accelerometer and its axis, i.e. the diagonals of the lever arm matrix. 

What is claimed is:
 1. A method for improving the accuracy of an inertial navigation system, the method comprising the steps: obtaining a measure of the angular velocity of a body frame of reference having a first axis, a second axis, and a third axis; obtaining a measure of the acceleration of (1) a first reference point in the direction of the first axis, (2) a second reference point in the direction of the second axis, and (3) a third reference point in the direction of the third axis, the first, second, and third reference points being fixed in the body frame; determining compensated acceleration values, a compensated acceleration value being the difference of the measure of acceleration of a reference point and a compensation quantity, the compensation quantity being an estimate of the portion of the acceleration of the reference point resulting from the rotation of the body frame.
 2. The method of claim 1 wherein the compensation quantity comprises a compensation term proportional to the vector cross product of a first vector and a second vector, the first vector being the angular velocity of the body frame, the second vector being the cross product of the angular velocity of the body frame and the vector connecting the navigation center to a reference point, an estimate of the angular velocity of the body frame being obtained by multiplying each of a plurality of measures of the angular velocity obtained at regular intervals in the past by a weight and summing the weighted measures of the angular velocity obtained during a specified time period in the past.
 3. The method of claim 2 wherein the weights are all equal.
 4. The method of claim 1 wherein the compensation quantity comprises a compensation term proportional to the cross product of the angular acceleration of the body frame and the vector connecting the navigation center to a reference point, an estimate of the angular acceleration of the body frame being obtained by multiplying each of a plurality of measures of the angular velocity obtained at regular intervals in the past by a weight and summing the weighted measures of the angular velocity obtained during a specified time period in the past.
 5. The method of claim 4 wherein an estimate of the angular acceleration of the body frame is obtained by differencing first and second estimates of the angular velocity of the body frame, a first estimate of the angular velocity of the body being obtained by multiplying a first sequence of measures of the angular velocity obtained at regular intervals in the past by a first sequence of weights and summing the resulting first sequence of weighted measures of the angular velocity obtained during a specified time period in the past, a second estimate of the angular velocity of the body being obtained by multiplying a second sequence of measures of the angular velocity obtained at regular intervals in the past by a second sequence of weights and summing the resulting second sequence of weighted measures of the angular velocity obtained during a specified time period in the past.
 6. The method of claim 5 wherein the first and second sequences of weights are the same.
 7. The method of claim 6 wherein the weights in the first and second sequences of weights are all equal.
 8. The method of claim 1 further comprising the step: establishing the optimum navigation center based on a criterion of goodness.
 9. The method of claim 8 wherein the criterion of goodness is minimal weighted acceleration error, acceleration error being a function of the direction of the angular velocity vector, weighted acceleration error being obtained by multiplying the acceleration error by a weighting function and integrating the result over all directions of the angular velocity vector.
 10. The method of claim 9 wherein the weighting function has the same value for all directions of the angular velocity vector.
 11. Apparatus for improving the accuracy of an inertial navigation system, the apparatus comprising: a means for obtaining from an external source a measure of the angular velocity of a body frame of reference having a first axis, a second axis, and a third axis; a means for obtaining from an external source a measure of the acceleration of (1) a first reference point in the direction of the first axis, (2) a second reference point in the direction of the second axis, and (3) a third reference point in the direction of the third axis, the first, second, and third reference points being fixed in the body frame; a processor for determining compensated acceleration values, a compensated acceleration value being the difference of the measure of acceleration of a reference point and a compensation quantity, the compensation quantity being an estimate of the portion of the acceleration of the reference point resulting from the rotation of the body frame.
 12. The apparatus of claim 11 wherein the compensation quantity comprises a compensation term proportional to the vector cross product of a first vector and a second vector, the first vector being the angular velocity of the body frame, the second vector being the cross product of the angular velocity of the body frame and the vector connecting the navigation center to a reference point, an estimate of the angular velocity of the body frame being obtained by multiplying each of a plurality of measures of the angular velocity obtained at regular intervals in the past by a weight and summing the weighted measures of the angular velocity obtained during a specified time period in the past.
 13. The apparatus of claim 11 wherein the weights are all equal.
 14. The apparatus of claim 11 wherein the compensation quantity comprises a compensation term proportional to the cross product of the angular acceleration of the body frame and the vector connecting the navigation center to a reference point, an estimate of the angular acceleration of the body frame being obtained by multiplying each of a plurality of measures of the angular velocity obtained at regular intervals in the past by a weight and summing the weighted measures of the angular velocity obtained during a specified time period in the past.
 15. The apparatus of claim 11 wherein an estimate of the angular acceleration of the body frame is obtained by differencing first and second estimates of the angular velocity of the body frame, a first estimate of the angular velocity of the body being obtained by multiplying a first sequence of measures of the angular velocity obtained at regular intervals in the past by a first sequence of weights and summing the resulting first sequence of weighted measures of the angular velocity obtained during a specified time period in the past, a second estimate of the angular velocity of the body being obtained by multiplying a second sequence of measures of the angular velocity obtained at regular intervals in the past by a second sequence of weights and summing the resulting second sequence of weighted measures of the angular velocity obtained during a specified time period in the past.
 16. The apparatus of claim 15 wherein the first and second sequences of weights are the same.
 17. The apparatus of claim 16 wherein the weights in the first and second sequences of weights are all equal.
 18. The apparatus of claim 11 wherein the optimum navigation center is based on a criterion of goodness.
 19. The apparatus of claim 18 wherein the criterion of goodness is minimal weighted acceleration error, acceleration error being a function of the direction of the angular velocity vector, weighted acceleration error being obtained by multiplying the acceleration error by a weighting function and integrating the result over all directions of the angular velocity vector.
 20. The apparatus of claim 19 wherein the weighting function has the same value for all directions of the angular velocity vector. 